#include <iostream>
using std::cout;
using std::endl;
//覆盖中会涉及到一个关键字，但是该关键字是一个可选的，并不是强制要求
//override：覆盖
//在覆盖的过程中，很容易会出现单词写错的情况，导致最终运行结果和
//预料的不同，为了避免这种低级问题，引入了一个关键字override
class Base{
public:
    virtual
    void display(){
        cout << "Base::display()" << endl;
    }
};
class Derived : public Base{
public:
    void dispaly() {
        cout << "Derived::display()" << endl;
    }

    void display() override{
        cout << "Derved::display()" << endl;
    }
};

void test(){
    Derived d;
    Base * pbase = &d;
    pbase->display();
}

int main()
{
    test();
    return 0;
}

